// pages/goodControl/sell/sell.js
// productDetail 销售编辑； sellSave：销售保存； orderDetail：订单详情；orderSubmit：订单提交； returnGoods：退货
import { productDetailNew, sellSave, orderDetail, orderSubmit, returnGoods} from '../../../api.js'
let app=getApp();
Page({
  data: {
    order_type:0, //0销售  1编辑  2退货
    status:0, //订单页面传过来的状态
    oIndex:0, //订单的index
    sellInfo:{
      id:null, //商品id
      pay_method:'', //支付方式
      pay_method_value:'',
      phone:'', //电话
      customer_id:'', //客户手机号
      pre_name:'',  //品牌
      price:'',  //成交价
      cost_price: '',  //采购价
      deposit: 0, //定金
      nursing_fee: '', //护理费用
      other_fee: '', //其他费用
      product_name:'', //商品名称
      product_num:1, //数量 默认为1
      product_sn:'', //货号
      remark:'', //备注
      sale_status:'', //销售状态
      sale_status_value:'',
      sale_system:'', //销售平台
      sale_system_value:'',
      saler:'', //销售员id
      saler_name:'', //销售员名称
      shipping_company:'', //物流方式
      shipping_company_value:'',
      shipping_fee:'', //快递费用
      shipping_sn:'', //快递单号 
    },
  },
  onLoad: function (options) {
    console.log('options',options)    
    let _this=this;
    _this.setData({
      order_type:options.order_type,
      'sellInfo.id': options.order_id,
      status:options.status?options.status:0,
      oIndex:options.oIndex?options.oIndex:0,
    })
    if (options.order_type == '0'){
      productDetailNew({ token:app.globalData.token, id: options.order_id}).then(res => {
        if (res.data.code == 666) { 
          var data = res.data.data;
          _this.setData({
            'sellInfo.id': data.id,
            // 'sellInfo.price':data.price,
            'sellInfo.cost_price': data.cost_price,
            'sellInfo.product_sn': data.product_sn,
            'sellInfo.product_name': data.brand_title + (data.systematics_title ? '/' + data.systematics_title : '') + (data.product_name ? ' ' + data.product_name : '')
          })
        } else if (res.data.code == 111111) {
          wx.showToast({
            title: '登录失效，请重新登录',
            icon: 'none',
          })
          setTimeout(function () {
            wx.reLaunch({
              url: '/pages/user/login/login',
            })
          }, 1500)
        } else {
          wx.showToast({
            title: res.data.msg,
            icon: 'none'
          })
        }

      })
    }else if (options.order_type == '1'){
      orderDetail({ token: app.globalData.token, info_batchcode: options.info_batchcode }).then(res => {
        if(res.data.code==666){
          this.setData({
            sellInfo: res.data.data[0],
            // 'sellInfo.price':res.data.data[0].cost_price,
            'sellInfo.cost_price': res.data.data[0].original_price,
            // 'sellInfo.lave_price':res.data.data[0].lave_price,
          })
        } else if (res.data.code == 111111) {
          wx.showToast({
            title: '登录失效，请重新登录',
            icon: 'none',
          })
          setTimeout(function () {
            wx.reLaunch({
              url: '/pages/user/login/login',
            })
          }, 1500)
        } else {
          wx.showToast({
            title: res.data.msg,
            icon: 'none'
          })
        }

      })
    }else if (options.order_type=='2'){
      orderDetail({ token: app.globalData.token, info_batchcode: options.info_batchcode}).then(res=>{
        if(res.data.code==666){
          this.setData({
            sellInfo: res.data.data[0],
            'sellInfo.cost_price': res.data.data[0].original_price,
            'sellInfo.sale_status_value': '交易关闭'
          })
        } else if (res.data.code == 111111) {
          wx.showToast({
            title: '登录失效，请重新登录',
            icon: 'none',
          })
          setTimeout(function () {
            wx.reLaunch({
              url: '/pages/user/login/login',
            })
          }, 1500)
        } else {
          wx.showToast({
            title: res.data.msg,
            icon: 'none'
          })
        }
      })
    }
  },
  onUnload:function(){
    let controlType=(this.data.order_type==0)?'goodControl':'allGoodControl'
    wx.setStorageSync('controlType', controlType)
    wx.setStorageSync('orderStatus', this.data.status)
    console.log('注销')
  },
  bindName(e){
    var key = `${e.currentTarget.dataset.name}`;
    if (/^(\d?)+(\.\d{0,2})?$/.test(e.detail.value)) {
      this.setData({
        [key]: e.detail.value
      })
    } else {
      wx.showToast({
        title: '价格只能是数字与小数点',
        icon: 'none',
      })
      this.setData({
        [key]: e.detail.value.substring(0, e.detail.value.length - 1)
      })
      return
    }
   
  },
  bindShippingSn(e){
    console.log('e',e)
    var key = `${e.currentTarget.dataset.name}`;
    if(e.detail.value){
    if (/^([a-zA-Z0-9])+$/.test(e.detail.value)) {
      this.setData({
        [key]:e.detail.value
      })
    } else {
      wx.showToast({
        title: '快递单号请填写字母和数字',
        icon: 'none',
      })
      this.setData({
        [key]:e.detail.value.substring(0, e.detail.value.length - 1)
      })
      return
    }
    }

  },
  bindPhone(e){
    var key = `${e.currentTarget.dataset.name}`;
      this.setData({
        [key]: e.detail.value
      })
  },
  bindRemark(e){
    var key = `${e.currentTarget.dataset.name}`;
    this.setData({
      [key]: e.detail.value
    })
  },
  //提交
  saleSave(){
    if(this.data.order_type==0){
      console.log('销售')
      let sellInfo=this.data.sellInfo;
      sellInfo.phone = this.data.sellInfo.customer_id;
      sellInfo.token=app.globalData.token;
      sellSave(sellInfo).then(res => {
        if (res.data.code == 666) {
          wx.showToast({
            title: res.data.msg,
            icon: 'none',
            mask: true,
          })            
            wx.navigateTo({
              url: '../../shopOrderControl/shopOrderControl',
            })
        } else if (res.data.code == 111111) {
          wx.showToast({
            title: '登录失效，请重新登录',
            icon: 'none',
          })
          setTimeout(function () {
            wx.reLaunch({
              url: '/pages/user/login/login',
            })
          }, 1500)
        } else {
          wx.showToast({
            title: res.data.msg,
            icon: 'none',
            duration: 1000,
            mask: true,
          })
        }
      })
    } else if (this.data.order_type == 1){
      console.log('编辑')
      var _this = this;
      if (_this.data.sellInfo.deposit > _this.data.sellInfo.lave_price){
        wx.showToast({
          title: '追加的定金余款不应超过欠款金额',
          icon: 'none',
        })
        return
      }
      var sellInfo=_this.data.sellInfo;
      sellInfo.token=app.globalData.token;
      sellInfo.status=_this.data.sellInfo.sale_status;
      orderSubmit(sellInfo).then(res=>{
        if(res.data.code==666){
          var pages = getCurrentPages();
          var currPage = pages[pages.length - 1];   //当前页面
          var prevPage = pages[pages.length - 2];  //上一个页面
          console.log(prevPage)
          var status = 'orderList[' + _this.data.oIndex + '].status';
          var status_value ='orderList['+_this.data.oIndex+'].status_value';
          var price = 'orderList[' + _this.data.oIndex + '].price';
          //直接调用上一个页面的setData()方法，把数据存到上一个页面中去
          prevPage.setData({
            [status]: _this.data.sellInfo.sale_status,
            [status_value]: _this.data.sellInfo.sale_status_value,
            [price]: _this.data.sellInfo.price
          })
          setTimeout(function(){
            wx.navigateBack({
              delta: 1
            })
          },1000)

        } else if (res.data.code == 111111) {
          wx.showToast({
            title: '登录失效，请重新登录',
            icon: 'none',
          })
          setTimeout(function () {
            wx.reLaunch({
              url: '/pages/user/login/login',
            })
          }, 1500)
        }else{
          wx.showToast({
            title: res.data.msg,
            icon: 'none',
          })
        }
      })
    } else if (this.data.order_type == 2){
      console.log('退货')
      var _this=this;
      var sellInfo = _this.data.sellInfo;
      sellInfo.token = app.globalData.token;
      returnGoods(sellInfo).then(res=>{
        if(res.data.code==666){
          var pages = getCurrentPages();
          var currPage = pages[pages.length - 1];   //当前页面
          var prevPage = pages[pages.length - 2];  //上一个页面
          console.log(prevPage)
          var status = 'orderList[' + _this.data.oIndex + '].status';
          var status_value = 'orderList[' + _this.data.oIndex + '].status_value';
          //直接调用上一个页面的setData()方法，把数据存到上一个页面中去
          prevPage.setData({
            [status]: 7,
            [status_value]:'交易关闭'
          })
            wx.navigateBack({
              delta:1
            })
        } else if (res.data.code == 111111) {
          wx.showToast({
            title: '登录失效，请重新登录',
            icon: 'none',
          })
          setTimeout(function () {
            wx.reLaunch({
              url: '/pages/user/login/login',
            })
          }, 1500)
        }else{
          wx.showToast({
            title: res.data.msg,
            icon:'none',
            mask: true,
          })
        }
      })
    }

  },

})